#ifndef MAIN_PAGE_H
#define MAIN_PAGE_H

#include "lcd.h"
#include "touch.h"
#include "game_mode.h" // 游戏模式枚举头文件

// 主页面按钮结构
struct Button
{
    int x, y;          // 左上角坐标
    int width, height; // 宽高
    string text;       // 按钮文字
    int bgColor;       // 背景色
    int textColor;     // 文字颜色
};

class MainPage
{
private:
    vector<Button> mainButtons; // 主页面按钮集合

public:
    MainPage();
    ~MainPage() = default;

    // 显示主页面
    void display(Lcd* lcd);

    // 处理主页面触摸事件，返回选择的游戏模式
    GameMode handleTouch(Touch* touch, Lcd* lcd);

private:
    // 绘制单个按钮
    void drawButton(Lcd* lcd, const Button& btn);

    // 判断触摸点是否在按钮内
    bool isPointInButton(const Point& p, const Button& btn);
};

#endif // MAIN_PAGE_H